/*
- Malt Project - object.hpp
- This document is protected by the GPL protocol.
- Writer:@Index-Flandre
*/

#pragma once
#ifndef MALT_OBJECT_H
#define MALT_OBJECT_H

#include "./typeobject.hpp"

namespace malt {

	struct Object {
		MaltObjectHead

		virtual bool eq(Object* obj) = 0;
		virtual void repl_print() = 0;
		virtual void marking();
	};

	struct BoxObject:
		public Object {
		unsigned long size;
		
		virtual bool eq(Object* obj) = 0;
		virtual void repl_print() = 0;
	};

}

#endif